package com.mjf.sort;

/**十大内部排序算法
 * 选择排序：直接选择排序、堆排序
 * 交换排序：冒泡排序、快速排序
 * 插入排序：直接插入排序、折半插入排序、Shell排序
 * 归并排序
 * 桶式排序
 * 基数排序
 * */
public class BubbleSort {

    public static void main(String[] args) {

        /*
        * 冒泡排序介绍：
        冒泡排序的原理非常简单，它重复地走访过要排序的数列，一次比较两个元素，如果他们的顺序错误就把他们交换过来。

        排序思想：
        比较相邻的元素。如果第一个比第二个大（升序），就交换他们两个。
        对每一对相邻元素作同样的工作，从开始第一对到结尾的最后一对。这步做完后，最后的元素会是最大的数。
        针对所有的元素重复以上的步骤，除了最后一个。
        持续每次对越来越少的元素重复上面的步骤，直到没有任何一对数字需要比较为止。
        * */

        int[] arr = new int[]{2,124,-145,0,3325,-134,1355};

        for (int i = 0; i < arr.length-1; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr[i] > arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }

        for (int a:arr){
            System.out.println(a);
        }

    }
}

